package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/*
* 自定义一个注解：AutoFill
*
*  标识当前方法需要进行自动化注解
*
* 因为在多张数据表中，总是有很多相同的字段，例如category中的创建人创建时间和修改人修改时间，employee中的创建人创建时间和修改人修改时间
* 而如果我们在每一个调用到这个表的方法中都自己手动填充字段，就会造成代码冗余，因此我们选择AOP的思想，增强这些方法，自定义切面类然后拦截需要进行自动化注解的类
* */
@Target(ElementType.METHOD)//指定这个注解只能加载到方法上
@Retention(RetentionPolicy.RUNTIME)//表示被该注解标注的注解在运行时仍然保留，可以通过反射机制获取
public @interface AutoFill {
    //指定数据库操作类型：UPADTE    INSERT
    OperationType value();

}
